import random


class TestGenerator:
    @staticmethod
    def generate_test_cases(count=5):
        """
        生成随机测试用例
        :param count: 生成的测试用例数量
        :return: 包含(n, expected)元组的列表
        """
        test_cases = []
        for _ in range(count):
            # 生成1到1000之间的随机数
            n = random.randint(1, 1000)
            # 这里我们暂时不计算expected值，因为需要实际运行算法
            # 在实际项目中，可以预先计算或使用已知的正确值
            test_cases.append((n, None))  # None表示需要后续填充

        # 添加一些已知的手动测试用例
        manual_cases = [
            (12, 3),  # 4+4+4
            (13, 2),  # 4+9
            (1, 1),  # 1
            (2, 2),  # 1+1
            (3, 3),  # 1+1+1
            (4, 1),  # 4
            (5, 2),  # 4+1
        ]

        return manual_cases + test_cases